function createText(text,style){
	// Parametres : text, texte voulu.
	// Action : Créé un noeud de texte
	// Retourne : le noeud de texte ainsi créé
	var textNode = document.createTextNode(text);
	if(style){
		if (style == 'b'){
			var boldNode = document.createElement("B");
			boldNode.appendChild(textNode);
			return boldNode;	
		}
	}
	return textNode;
}

function createDiv(id,elementClass){
	// Parametres : id, l'id voulu pour le div.
	// Action : Créé un div
	// Retourne : le div avec l'id passé.
	var divNode = document.createElement("div");
	if(id){divNode.setAttribute("id",id);}
	if(elementClass){divNode.setAttribute("class",elementClass);}
	return divNode;
}

function createSpan(id,elementClass){
	// Parametres : id, l'id voulu pour le div.
	// Action : Créé un div
	// Retourne : le div avec l'id passé.
	var spanNode = document.createElement("span");
	if(id){spanNode.setAttribute("id",id);}
	if(elementClass){spanNode.setAttribute("class",elementClass);}
	return spanNode;
}

function createBreakLine(){
	return document.createElement("br");
}

function createLabel(texteLabel, forLabel){
	// Parametres : label, texte du label.
	// Action : Créé un noeud de type Label avec le nom voulu
	// Retourne : le noeud label ainsi créé
	var labelNode = document.createElement("label");
	var labelTxt = document.createTextNode(texteLabel);
	labelNode.appendChild(labelTxt);
	labelNode.setAttribute("for",forLabel);
	return labelNode;
}

function createInput(type,name,value,onclick,elementClass){
	// Parametres : type, type de l'input voulu (radio, text, etc...). name, nom donné a l'input. value, valeur par défaut de l'input.
	// Action : Créé un noeud de type Input du type voulu, et avec les attributs voulus. Si "onclick"n'est pas précisé, il n'y aura pas cet attribut.
	// Retourne : le noeud input ainsi créé

	var inputNode = document.createElement("input");
	inputNode.setAttribute("type",type);
	inputNode.setAttribute("name",name);
	inputNode.setAttribute("id",name);
	inputNode.setAttribute("value",value);
	if(onclick) inputNode.setAttribute("onClick","Javascript:"+onclick+";");
	if(elementClass) inputNode.setAttribute("class",elementClass);
	return inputNode;
}

function createTextInput(name,value,elementClass,maxLength){
	var inputNode = createInput('text',name,value,null,elementClass);
	if(maxLength) inputNode.setAttribute("maxlength",maxLength);
	return inputNode;
}

function createHiddenInput(name,value,elementClass){
	return createInput('hidden',name,value,null,elementClass);
}

function createButtonInput(name,value,onclick,elementClass){
	return createInput('button',name,value,onclick,elementClass);
}

function createImage(src,title,elementClass){
	var img = document.createElement("img");
	img.setAttribute("src",src);
	img.setAttribute("title",title);
	if(elementClass) img.setAttribute("class",elementClass);
	return img;
}	

function createLink(url,text,elementClass){
	var a = document.createElement("a");
	a.setAttribute("href",url);
	if(typeof(text) == "string") text = document.createTextNode(text);
	if(elementClass) a.setAttribute("class",elementClass);
	a.appendChild(text);
	return a;
}

function createJSLink(onclick,text,elementClass){
	var a = createLink('#',text,elementClass);
	a.setAttribute("onClick",onclick);
	return a;
}

function createTextarea(name,text,rows,cols,elementClass){
	var textareaNode = document.createElement('textarea');
	textareaNode.setAttribute('name',name);
	textareaNode.setAttribute('id',name);
	textareaNode.setAttribute('class',elementClass);
	textareaNode.setAttribute('rows',rows);
	textareaNode.setAttribute('cols',cols);
	textareaNode.appendChild(document.createTextNode(text));
	return textareaNode;
}

function createTable(tableArray){
	// Parametres : tableArray, un tableau de noeuds.
	// Action : Créé un noeud de type Table, et le remplit avec les données de tableArray. Le tableau peut-etre a une ou deux dimensions.
	// Retourne : le noeud table ainsi créé
	var table = document.createElement("table");
	
	var tr = document.createElement("tr");
	if(tableArray[0].constructor.name != 'Array'){//Si tableau a une dimension
		for (var i = 0;i < tableArray.length; i++){
			var td = document.createElement("td");
			td.setAttribute("style","width:"+100/tableArray.length+"%;");
			td.appendChild(tableArray[i]);
			tr.appendChild(td);
		}
		table.appendChild(tr);
	}
	else
	{
		for (var i = 0;i < tableArray.length; i++){
			for (var j = 0; j < tableArray[0].length; j++){
				var td = document.createElement("td");
				td.setAttribute("style","width:"+100/tableArray[0].length+"%;");
				td.appendChild(tableArray[i][j]);
				tr.appendChild(td);
			}
			table.appendChild(tr);
			var tr = document.createElement("tr");
		}
	}

	
	return table;
}

function createTableList(tableArray){
	// Parametres : tableArray, un tableau de noeuds a UNE SEULE dimention.
	// Action : Créé un noeud de type Table, et le remplit avec les données de tableArray de manière a faire une "liste" avec le tableau (rempli de haut en bas).
	// Retourne : le noeud table ainsi créé
	var table = document.createElement("table");
	table.setAttribute("width","100%");
	for (var i = 0;i < tableArray.length; i++){
		var td = document.createElement("td");
		var tr = document.createElement("tr");
		td.setAttribute("style","width:100%;");
		td.appendChild(tableArray[i]);
		tr.appendChild(td);
		table.appendChild(tr);
	}
	return table;
}

function nodeDestroy(nodeId){
	// Parametres : nodeId, l'id du noeud voulu.
	// Action : Détruit le noeud désigné.
	// Retourne : N/A
	document.getElementById(nodeId).innerHTML='';
}